{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import dagstermill"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "tags": [
     "parameters"
    ]
   },
   "outputs": [],
   "source": [
    "from dagster import ModeDefinition, ResourceDefinition\n",
    "from collections import namedtuple\n",
    "\n",
    "url = 'postgresql://{username}:{password}@{hostname}:5432/{db_name}'.format(\n",
    "    username='test', password='test', hostname='localhost', db_name='test'\n",
    ")\n",
    "DbInfo = namedtuple('DbInfo', 'url')\n",
    "context = dagstermill.get_context(\n",
    "    mode_def=ModeDefinition(\n",
    "        resource_defs={'db_info': ResourceDefinition(lambda _: DbInfo(url))}\n",
    "    )\n",
    ")\n",
    "\n",
    "table_name = 'delays_vs_fares'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "db_url = context.resources.db_info.url"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "\n",
    "import sqlalchemy as sa\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "from dagster.utils import mkdir_p"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/max/.virtualenvs/dagster/lib/python3.6/site-packages/psycopg2/__init__.py:144: UserWarning: The psycopg2 wheel package will be renamed from release 2.8; in order to keep installing from binary please use \"pip install psycopg2-binary\" instead. For details see: <http://initd.org/psycopg/docs/install.html#binary-install-from-pypi>.\n",
      "  \"\"\")\n"
     ]
    }
   ],
   "source": [
    "engine = sa.create_engine(db_url)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "from matplotlib.backends.backend_pdf import PdfPages\n",
    "plots_path = os.path.join(os.getcwd(), 'plots')\n",
    "mkdir_p(plots_path)\n",
    "pdf_path = os.path.join(plots_path, 'fares_vs_delays.pdf')\n",
    "pp = PdfPages(pdf_path)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "fares_vs_delays = pd.read_sql('select * from {table_name}'.format(table_name=table_name), engine)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>origin</th>\n",
       "      <th>dest</th>\n",
       "      <th>avg_fare</th>\n",
       "      <th>avg_fare_per_mile</th>\n",
       "      <th>avg_arrival_delay</th>\n",
       "      <th>avg_departure_delay</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>SFO</td>\n",
       "      <td>IND</td>\n",
       "      <td>434.767524</td>\n",
       "      <td>0.142556</td>\n",
       "      <td>4.730924</td>\n",
       "      <td>11.188755</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>SFO</td>\n",
       "      <td>CVG</td>\n",
       "      <td>489.184236</td>\n",
       "      <td>0.146830</td>\n",
       "      <td>-6.628049</td>\n",
       "      <td>4.054545</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>SFO</td>\n",
       "      <td>MSY</td>\n",
       "      <td>498.145642</td>\n",
       "      <td>0.152935</td>\n",
       "      <td>-6.733871</td>\n",
       "      <td>6.397590</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>SFO</td>\n",
       "      <td>SEA</td>\n",
       "      <td>368.674415</td>\n",
       "      <td>0.237027</td>\n",
       "      <td>13.233090</td>\n",
       "      <td>12.270567</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>SFO</td>\n",
       "      <td>OKC</td>\n",
       "      <td>428.348442</td>\n",
       "      <td>0.186265</td>\n",
       "      <td>10.461538</td>\n",
       "      <td>15.736264</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  origin dest    avg_fare  avg_fare_per_mile  avg_arrival_delay  \\\n",
       "0    SFO  IND  434.767524           0.142556           4.730924   \n",
       "1    SFO  CVG  489.184236           0.146830          -6.628049   \n",
       "2    SFO  MSY  498.145642           0.152935          -6.733871   \n",
       "3    SFO  SEA  368.674415           0.237027          13.233090   \n",
       "4    SFO  OKC  428.348442           0.186265          10.461538   \n",
       "\n",
       "   avg_departure_delay  \n",
       "0            11.188755  \n",
       "1             4.054545  \n",
       "2             6.397590  \n",
       "3            12.270567  \n",
       "4            15.736264  "
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fares_vs_delays.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count    84.000000\n",
       "mean      7.319261\n",
       "std      11.965286\n",
       "min     -19.000000\n",
       "25%       2.347601\n",
       "50%       7.380119\n",
       "75%      11.461447\n",
       "max      93.090909\n",
       "Name: avg_arrival_delay, dtype: float64"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fares_vs_delays['avg_arrival_delay'].describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(fares_vs_delays['avg_arrival_delay'], fares_vs_delays['avg_fare'])\n",
    "\n",
    "try:\n",
    "    z = np.polyfit(fares_vs_delays['avg_arrival_delay'], fares_vs_delays['avg_fare'], 1)\n",
    "    f = np.poly1d(z)\n",
    "\n",
    "    x_fit = np.linspace(fares_vs_delays['avg_arrival_delay'].min(), fares_vs_delays['avg_arrival_delay'].max(), 50)\n",
    "    y_fit = f(x_fit)\n",
    "    plt.plot(x_fit, y_fit, 'k--', alpha=0.5)\n",
    "except:\n",
    "    pass\n",
    "\n",
    "plt.title('Arrival Delays vs. Fares (Origin SFO)')\n",
    "plt.xlabel('Average Delay at Arrival (Minutes)')\n",
    "plt.ylabel('Average Fare ($)')\n",
    "pp.savefig()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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ZZddWLx4cbvWKkn6/1oTyKZHxFiga0QMBe4GXE5c7aKxgNFQr169mDRpEvvttx/vvfceq1atYtasWQwYMIBXX32ViOCYY45h+PDh/P73vwcKgaSiooLtttuuvb9OyVVXV1NbW8vhhx9e3+PVpUsX+vfvX7/obM+ePVmyZMl65y1atIjevXu3e72SpILWBLKLgaXAM8D5wIPApaUsSqrTWMBoaMmSJfztb39j++2355hjjqGmpob333+fiRMn8vWvf51+/fpRW1vLJz7xCebNm8chhxzCD3/4Q0488UTOPvtsjjjiCPr168eNN96YwbdeXBoZAAAgAElEQVQrnUsuuYTvf//79dsXXXRR/Xfs2LEjO+64I4899hgAzz//PC+//DJ9+vTJpFZJUuuWvTgZuCOldHOpi5Gacskll3DFFVest2/69Ol06tSJZ599ltWrVzNv3jwWLVrEokWL6NatG7NmzWLt2rXMmzePoUOHMnjwYF555RV+8pOfMGfOHJ588kkmTZrEHnvswZFHHsm5555Lp06dsvmCbWzfffdl6dKlvPrqqwD07t2bT37yk/XHf/KTn3D++eczduxYunTpwk033ZRVqZIkWhfITgCujYgZwK+Bh1JK75e2LGl9DQPGkCFDqKioYMcdd6Rv376MGTOGiRMnMm/ePO655x46dOjATjvtxBtvvMHHP/5x5s2bB8CJJ57IZz7zGVJK7LzzzvXX7tixI5/4xCd444032HHHHbP6ih9Zw+dkQuHmh4buvPPO+ve9evVi8uTJ7VWaJKkFrXm4+KiI6AQMA84AboiIR1JKo0tencpaSwEDYODAgYwdO5bBgwcDcPHFFzN06FD+7d/+jd13352Kigq+8pWv8Mgjj3Dqqafy7LPPctZZZ613jRUrVvD3v/+dnj17lvT7SJLUlNb0kJFSWhMRv6Nwd2VXCsOYBjJlbvr09Z93/4Mf/ACAusWD77rrLu69916GDh3KnXfeybvvvsvxxx9f3/7MM8+kW7dujB07lo4dO7Zf4ZIkNdBiIIuIYcDngRyQB24BRpa0KukjWLhwITvttBOdOnWiV69erFu3rv5Y165dWbFiRf32pEmT2GuvvbIoU5Kkeq3pIftXCnPHzk8prWrthSPiF8BngSUppU82cjyA64HhwArg7JTSU629vtSUuXPnMnLkSLp27UqnTp24/PLL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nnvuOQ488EAATjrpJKZMmcLq1at577332HbbbbMsc5MyefJkPve5z3HaaacxefJkAN555x3mz5/P66+/TkVFBd27d+fQQw9lwYIFGy1lcc899/ClL32JFStW1C8d0R7q7pA88sgj69c6W7JkCVOnTqVfv37tVockafPiHLJ2sNVWW9GlSxdmz57N/vvvz6uvvgpA7969mTt3Lo888giDBg2qH14D+Na3vsXHPvYxgPr25SKlxB/+8Af+9re/AdSvoH/YYYfRo0cPqqqq2GGHHeqHIEePHs3NN9+83jWefvpprrzySo477jhqamo+1HywD2LixInMnDmTlStXcumll1JVVcWXvvQlxo8fT0Rw/fXXs9VWW5W0BknS5stA1k6GDx/OBRdcwE033cSNN95Yv/+II47gsssu44EHHlgvkF1zzTUMGTIEKL85ZE8//TQjRozge9/7HgAXX3wxzzzzDKeffjpTpkzhz3/+M7/61a/47ne/S+/evRkxYgRVVVUcc8wxACxYsIBnnnmG4447jlWrVrHPPvuUNJA1dYfk7bffvtG+s88+u2R1SJI2Xw5ZtpPhw4dz2GGH0bdv3/X2n3baaQwePJgdd9wxo8razvLlyzn++OPJ5XL069eP2tpazjrrrPrjEyZMYMKECbzwwgtNTsZPKXHQQQet9+zIXC7HPffcwwEHHMBee+3FwIEDufrqq+vXEuvYsSMnnngi99xzD1AYrrzlllt46KGHmDZtGosXL2bdunXt9CtIkvTBGcjaydZbb82tt9660d13e+yxB//1X/+VUVVt64477uCUU06pn3TfuXPnJts2Nhl/77335je/+Q19+vTh1VdfpV+/fhx99NHcc889XH755YwaNYorr7ySP//5z7z88svcdNNN9eeOHj26PqA98MADHHXUUfXHDjjgAB599NE2/raSJLUdhyxLLJfLrdfbA4WeosbU3XG54aKlM2fObPvCSqBbt27MmjWLk046ie23357u3bs32XbDyfh///vf2Xnnnbn77ru5/PLL+exnP8usWbOoqKjgzTffBKBPnz7cdNNN6y1JUVVVBcC2227LO++8A1A/1FvnBz/4QZt+T0mS2po9ZGoz1dXV9OnTh6qqKoYMGdLizQgNJ+PPnDmTcePG0b9/f3r06MG7777LE088wbp16+pvbpAkaUtlIFOb6dSpE5dd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\n",
      "text/plain": [
       "<Figure size 720x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(10,10))\n",
    "\n",
    "for i, _ in enumerate(fares_vs_delays.index):\n",
    "    plt.text(\n",
    "        fares_vs_delays['avg_arrival_delay'][i],\n",
    "        fares_vs_delays['avg_fare_per_mile'][i],\n",
    "        fares_vs_delays['dest'][i],\n",
    "        fontsize=8)\n",
    "\n",
    "plt.scatter(fares_vs_delays['avg_arrival_delay'], fares_vs_delays['avg_fare_per_mile'], alpha=0)\n",
    "plt.title('Flight Delays (Origin SFO)')\n",
    "plt.xlabel('Average Delay at Arrival (Minutes)')\n",
    "plt.ylabel('Average Fare per Mile Flown($)')\n",
    "\n",
    "pp.savefig()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "pp.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from dagster import LocalFileHandle\n",
    "dagstermill.yield_result(LocalFileHandle(pdf_path))"
   ]
  }
 ],
 "metadata": {
  "celltoolbar": "Tags",
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}